package com.freemalll.merchant.service.coopManagement;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.freemalll.merchant.domain.dto.MerchantRateDto;
import com.freemalll.merchant.domain.dto.coopManagement.AssetManageDto;
import com.freemalll.merchant.domain.dto.coopManagement.AssetManagePageDto;
import com.freemalll.merchant.domain.dto.coopManagement.AssetRateEditDto;
import com.freemalll.merchant.domain.entity.coopManagement.MerAssetRateManage;
import com.freemalll.merchant.domain.vo.coopManagement.AssetRatePageVo;

import java.util.List;

/**
 * 服务层。
 *
 * @author songshixiong
 * @since 2025-05-16
 */
public interface MerAssetRateManageService extends IService<MerAssetRateManage> {

    /**
     * 分页搜索。
     *
     * @param dto
     * @return
     */
    Page<AssetRatePageVo> pageSearch(AssetManagePageDto dto);

    /**
     * 编辑
     *
     * @param dto
     */
    void edit(List<AssetRateEditDto> dto);

    /**
     * 删除费率
     *
     * @param id
     */
    void removeRate(String id);


    /**
     * 根据资方id和息费模式获取数据
     *
     * @param dto
     * @return
     */
    List<AssetRatePageVo> getRateList(AssetManageDto dto);

    /**
     * 根据资方id查询费率
     *
     * @param sourceIds
     * @return
     */
    List<MerchantRateDto> queryListBySourceId(List<String> sourceIds, String sceneCategory);
}
